package com.qm.console.service.user;

import com.qm.console.controller.dto.BaseDO;
import com.qm.console.controller.dto.BaseRsp;
import com.qm.console.dao.model.ValueDisplayConfig;
import com.qm.console.pubdef.dto.anchor.ImMsgQueryDTO;
import com.qm.console.pubdef.dto.anchor.UserActionDTO;
import com.qm.console.pubdef.dto.user.*;

import java.util.List;
import java.util.Map;

public interface UserService {
    BaseRsp listUserAdmin(Map<String,String> paramMap);
    BaseRsp userDetailAdmin(Map<String,String> paramMap);
    BaseRsp listChannelAdmin(Map<String,String> paramMap);
//    BaseRsp updateUserForbidAdmin(UserForbidAdminDTO updateDTO);

    List<Map<String, String>> listPropChannels();

    List<ValueDisplayConfig> listPropTypes();

    BaseRsp listPropChanges(PropChangeQueryDTO query);

    BaseRsp propChangeCount(PropChangeQueryDTO query);

    List<ValueDisplayConfig> listPropReasons();

    void PropChangeValue(ValueDisplayConfig query);

    //补单
    BaseDO supplementList(Map<String,Object> paramMap);

    //创建补单
    BaseRsp supplementAdd(SupplementDTO params);

    //操作补单
    BaseRsp supplementDispose(SupplementDisposeDTO params);

    //主播详情
    BaseDO<AnchorDetailDTO> anchorDetail(Map<String, String> paramMap);

    // 用户举报
    BaseDO<AccuseInfoDTO> accuseList(Map<String, String> paramMap);

    // 举报处理
    BaseRsp accuseDispose(AccuseDisposeDTO params);

    // 充值订单
    BaseRsp orderList(Map<String, String> paramMap);

    BaseRsp chargeUnitList();

    BaseRsp userProp(PropChangeQueryDTO query);

    BaseRsp userRecharge(PropChangeQueryDTO query);

    BaseRsp userWithdraw(PropChangeQueryDTO query);

    BaseRsp userAction(UserActionDTO paramMap);

    BaseRsp userChatGift(ImMsgQueryDTO paramMap);

    BaseRsp userChatGiftList(VideoVoiceListDTO paramMap);

    BaseRsp cancelLive(String userId);

    BaseRsp confirmAnchor(String userId);

}